/**
 * 29-权限-管理员管理-编辑/管理员管理. <br/>
 *
 * @author fsl fzh 20151125.
 */
$(function() {
    //初始化
    initPage();
});

//表单验证
function bindEvent(flag) {
    var rules = {
        user: "required",
        role: "required",
        email: {
            required: true,
            email: true
        },
        password: {
            required: false,
            minlength: 6
        },
        password_confirmation: {
            required: false,
            minlength: 6,
            equalTo: "#password"
        }
    };

    if (flag) {
        rules.password.required = true;
        rules.password_confirmation.required = true;
    }

    $("#admin_editor").validate({
        rules: rules,
        messages: {
            name: "请输入姓名",
            role: "必选项",
            email: {
                required: "请输入Email地址",
                email: "请输入正确的email地址"
            },
            password: {
                required: "请输入密码",
            },
            password_confirmation: {
                required: "请输入确认密码",
                minlength: "确认密码不能小于6个字符",
                equalTo: "两次输入密码不一致"
            }
        },
        errorPlacement: function(error, element) {
            if (element.attr("name") == "signflag") {
                element.parents(".electronic-bottom").append(error);
            } else {
                element.parents(".form-right").after($("<div class='key-lbl lh32' style='width:auto;'/>").append(error));
            }
        },
    });
}

/**
 * 初始化页面.<br/>
 *
 * @author fsl-fzh-20151127.
 */
function initPage() {

    var stateFlg = !!PAGE_DATA.DEFAULT;
    var pageNav = $("#page-nav");

    // 获取角色列表模板
    var roleList = _.template($("#roleListTemplate").html());

    // 获取列表数据
    $.ajax({
        url: PAGE_DATA.REST_API.adminClassily,
        type: 'get',
        dataType: 'json',
        success: function(result) {
            var collection = result.data;

            // 渲染输出 HTML
            $('#classily').html(roleList(collection));
        },
        complete: function() {
            if (stateFlg) {

                // TITLE
                pageNav.html("权限  > 管理员管理 > 编辑");

                // adminUtil.getSelectHtml = function (domSelector, data)
                var formData = PAGE_DATA.DEFAULT;

                // 用户名
                $("#user").val(formData.user);

                // 电子邮箱
                $("#email").val(formData.email || '');

                // 根据PAGE DATA列表中的存在项来勾选数据
                $("#" + PAGE_DATA.DEFAULT.roles + "").attr("checked", true);
                // 表单验证
                bindEvent(false);
            } else {
                // 新增
                pageNav.html("权限  > 管理员管理 > 新增");

                // 表单验证
                bindEvent(true);
            }
        }
    });


};
